home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 26 / Cream of the Crop 26.iso / doom / quake.zip / HIPGRAPL.ZIP / WORLD.QC < prev    next >
Text File  |  1997-04-09  |  13KB  |  457 lines

  1.  
  2. void() InitBodyQue;
  3. //JIM
  4. void() InitBulletHoles;
  5.  
  6.  
  7. void() main =
  8. {
  9.     dprint ("main function\n");
  10.  
  11. // these are just commands the the prog compiler to copy these files
  12.  
  13.     precache_file ("progs.dat");
  14.     precache_file ("gfx.wad");
  15.     precache_file ("quake.rc");
  16.     precache_file ("default.cfg");
  17.  
  18.     precache_file ("end1.bin");
  19.     precache_file2 ("end2.bin");
  20.  
  21.     precache_file ("demo1.dem");
  22.     precache_file ("demo2.dem");
  23.     precache_file ("demo3.dem");
  24.  
  25. //
  26. // these are all of the lumps from the cached.ls files
  27. //
  28.     precache_file ("gfx/palette.lmp");
  29.     precache_file ("gfx/colormap.lmp");
  30.  
  31.     precache_file2 ("gfx/pop.lmp");
  32.  
  33.     precache_file ("gfx/complete.lmp");
  34.     precache_file ("gfx/inter.lmp");
  35.  
  36.     precache_file ("gfx/ranking.lmp");
  37.     precache_file ("gfx/vidmodes.lmp");
  38.     precache_file ("gfx/finale.lmp");
  39.     precache_file ("gfx/conback.lmp");
  40.     precache_file ("gfx/qplaque.lmp");
  41.  
  42.     precache_file ("gfx/menudot1.lmp");
  43.     precache_file ("gfx/menudot2.lmp");
  44.     precache_file ("gfx/menudot3.lmp");
  45.     precache_file ("gfx/menudot4.lmp");
  46.     precache_file ("gfx/menudot5.lmp");
  47.     precache_file ("gfx/menudot6.lmp");
  48.  
  49.     precache_file ("gfx/menuplyr.lmp");
  50.     precache_file ("gfx/bigbox.lmp");
  51.     precache_file ("gfx/dim_modm.lmp");
  52.     precache_file ("gfx/dim_drct.lmp");
  53.     precache_file ("gfx/dim_ipx.lmp");
  54.     precache_file ("gfx/dim_tcp.lmp");
  55.     precache_file ("gfx/dim_mult.lmp");
  56.     precache_file ("gfx/mainmenu.lmp");
  57.  
  58.     precache_file ("gfx/box_tl.lmp");
  59.     precache_file ("gfx/box_tm.lmp");
  60.     precache_file ("gfx/box_tr.lmp");
  61.  
  62.     precache_file ("gfx/box_ml.lmp");
  63.     precache_file ("gfx/box_mm.lmp");
  64.     precache_file ("gfx/box_mm2.lmp");
  65.     precache_file ("gfx/box_mr.lmp");
  66.  
  67.     precache_file ("gfx/box_bl.lmp");
  68.     precache_file ("gfx/box_bm.lmp");
  69.     precache_file ("gfx/box_br.lmp");
  70.  
  71.     precache_file ("gfx/sp_menu.lmp");
  72.     precache_file ("gfx/ttl_sgl.lmp");
  73.     precache_file ("gfx/ttl_main.lmp");
  74.     precache_file ("gfx/ttl_cstm.lmp");
  75.  
  76.     precache_file ("gfx/mp_menu.lmp");
  77.  
  78.     precache_file ("gfx/netmen1.lmp");
  79.     precache_file ("gfx/netmen2.lmp");
  80.     precache_file ("gfx/netmen3.lmp");
  81.     precache_file ("gfx/netmen4.lmp");
  82.     precache_file ("gfx/netmen5.lmp");
  83.  
  84.     precache_file ("gfx/sell.lmp");
  85.  
  86.     precache_file ("gfx/help0.lmp");
  87.     precache_file ("gfx/help1.lmp");
  88.     precache_file ("gfx/help2.lmp");
  89.     precache_file ("gfx/help3.lmp");
  90.     precache_file ("gfx/help4.lmp");
  91.     precache_file ("gfx/help5.lmp");
  92.  
  93.     precache_file ("gfx/pause.lmp");
  94.     precache_file ("gfx/loading.lmp");
  95.  
  96.     precache_file ("gfx/p_option.lmp");
  97.     precache_file ("gfx/p_load.lmp");
  98.     precache_file ("gfx/p_save.lmp");
  99.     precache_file ("gfx/p_multi.lmp");
  100.  
  101. // sounds loaded by C code
  102.     precache_sound ("misc/menu1.wav");
  103.     precache_sound ("misc/menu2.wav");
  104.     precache_sound ("misc/menu3.wav");
  105.  
  106.     precache_sound ("ambience/water1.wav");
  107.     precache_sound ("ambience/wind2.wav");
  108.  
  109. //MED
  110. //Added Hipnotic Pack
  111. /*
  112. // shareware
  113.     precache_file ("maps/start.bsp");
  114.  
  115.     precache_file ("maps/e1m1.bsp");
  116.     precache_file ("maps/e1m2.bsp");
  117.     precache_file ("maps/e1m3.bsp");
  118.     precache_file ("maps/e1m4.bsp");
  119.     precache_file ("maps/e1m5.bsp");
  120.     precache_file ("maps/e1m6.bsp");
  121.     precache_file ("maps/e1m7.bsp");
  122.     precache_file ("maps/e1m8.bsp");
  123.  
  124. // registered
  125.     precache_file2 ("gfx/pop.lmp");
  126.  
  127.     precache_file2 ("maps/e2m1.bsp");
  128.     precache_file2 ("maps/e2m2.bsp");
  129.     precache_file2 ("maps/e2m3.bsp");
  130.     precache_file2 ("maps/e2m4.bsp");
  131.     precache_file2 ("maps/e2m5.bsp");
  132.     precache_file2 ("maps/e2m6.bsp");
  133.     precache_file2 ("maps/e2m7.bsp");
  134.  
  135.     precache_file2 ("maps/e3m1.bsp");
  136.     precache_file2 ("maps/e3m2.bsp");
  137.     precache_file2 ("maps/e3m3.bsp");
  138.     precache_file2 ("maps/e3m4.bsp");
  139.     precache_file2 ("maps/e3m5.bsp");
  140.     precache_file2 ("maps/e3m6.bsp");
  141.     precache_file2 ("maps/e3m7.bsp");
  142.  
  143.     precache_file2 ("maps/e4m1.bsp");
  144.     precache_file2 ("maps/e4m2.bsp");
  145.     precache_file2 ("maps/e4m3.bsp");
  146.     precache_file2 ("maps/e4m4.bsp");
  147.     precache_file2 ("maps/e4m5.bsp");
  148.     precache_file2 ("maps/e4m6.bsp");
  149.     precache_file2 ("maps/e4m7.bsp");
  150.     precache_file2 ("maps/e4m8.bsp");
  151.  
  152.     precache_file2 ("maps/end.bsp");
  153.  
  154.     precache_file2 ("maps/dm1.bsp");
  155.     precache_file2 ("maps/dm2.bsp");
  156.     precache_file2 ("maps/dm3.bsp");
  157.     precache_file2 ("maps/dm4.bsp");
  158.     precache_file2 ("maps/dm5.bsp");
  159.     precache_file2 ("maps/dm6.bsp");
  160. */
  161.    precache_file ("maps/start.bsp");
  162.  
  163.    precache_file ("maps/hip1m1.bsp");
  164.    precache_file ("maps/hip1m2.bsp");
  165.    precache_file ("maps/hip1m3.bsp");
  166.    precache_file ("maps/hip1m4.bsp");
  167.    precache_file ("maps/hip1m5.bsp");
  168.    precache_file ("maps/hip2m1.bsp");
  169.    precache_file ("maps/hip2m2.bsp");
  170.    precache_file ("maps/hip2m3.bsp");
  171.    precache_file ("maps/hip2m4.bsp");
  172.    precache_file ("maps/hip2m5.bsp");
  173.    precache_file ("maps/hip2m6.bsp");
  174.    precache_file ("maps/hip3m1.bsp");
  175.    precache_file ("maps/hip3m2.bsp");
  176.    precache_file ("maps/hip3m3.bsp");
  177.    precache_file ("maps/hip3m4.bsp");
  178.    precache_file ("maps/hipdm1.bsp");
  179.    precache_file ("maps/hipend.bsp");
  180.    precache_file ("maps/zoo.bsp");
  181.    precache_file ("maps/mark.bsp");
  182. };
  183.  
  184.  
  185. entity    lastspawn;
  186.  
  187. //=======================
  188. /*QUAKED worldspawn (0 0 0) ?
  189. Only used for the world entity.
  190. Set message to the level name.
  191. Set sounds to the cd track to play.
  192.  
  193. World Types:
  194. 0: medieval
  195. 1: metal
  196. 2: base
  197. */
  198. //=======================
  199.  
  200. void() worldspawn =
  201. {
  202.    lastspawn = world;
  203.     InitBodyQue ();
  204.  
  205. //JIM
  206.    InitBulletHoles();
  207.  
  208. // custom map attributes
  209.     if (self.model == "maps/e1m8.bsp")
  210.         cvar_set ("sv_gravity", "100");
  211.     else
  212.         cvar_set ("sv_gravity", "800");
  213.  
  214. // the area based ambient sounds MUST be the first precache_sounds
  215.  
  216. // player precaches
  217.     W_Precache ();            // get weapon precaches
  218.  
  219. // sounds used from C physics code
  220.     precache_sound ("demon/dland2.wav");        // landing thud
  221.     precache_sound ("misc/h2ohit1.wav");        // landing splash
  222.  
  223. // setup precaches allways needed
  224.     precache_sound ("items/itembk2.wav");        // item respawn sound
  225.     precache_sound ("player/plyrjmp8.wav");        // player jump
  226.     precache_sound ("player/land.wav");            // player landing
  227.     precache_sound ("player/land2.wav");        // player hurt landing
  228.     precache_sound ("player/drown1.wav");        // drowning pain
  229.     precache_sound ("player/drown2.wav");        // drowning pain
  230.     precache_sound ("player/gasp1.wav");        // gasping for air
  231.     precache_sound ("player/gasp2.wav");        // taking breath
  232.     precache_sound ("player/h2odeath.wav");        // drowning death
  233.  
  234.     precache_sound ("misc/talk.wav");            // talk
  235.     precache_sound ("player/teledth1.wav");        // telefrag
  236.     precache_sound ("misc/r_tele1.wav");        // teleport sounds
  237.     precache_sound ("misc/r_tele2.wav");
  238.     precache_sound ("misc/r_tele3.wav");
  239.     precache_sound ("misc/r_tele4.wav");
  240.     precache_sound ("misc/r_tele5.wav");
  241.     precache_sound ("weapons/lock4.wav");        // ammo pick up
  242.     precache_sound ("weapons/pkup.wav");        // weapon up
  243.     precache_sound ("items/armor1.wav");        // armor up
  244.     precache_sound ("weapons/lhit.wav");        //lightning
  245.     precache_sound ("weapons/lstart.wav");        //lightning start
  246.     precache_sound ("items/damage3.wav");
  247.  
  248.     precache_sound ("misc/power.wav");            //lightning for boss
  249.  
  250. // player gib sounds
  251.     precache_sound ("player/gib.wav");            // player gib sound
  252.     precache_sound ("player/udeath.wav");        // player gib sound
  253.     precache_sound ("player/tornoff2.wav");        // gib sound
  254.  
  255. // player pain sounds
  256.  
  257.     precache_sound ("player/pain1.wav");
  258.     precache_sound ("player/pain2.wav");
  259.     precache_sound ("player/pain3.wav");
  260.     precache_sound ("player/pain4.wav");
  261.     precache_sound ("player/pain5.wav");
  262.     precache_sound ("player/pain6.wav");
  263.  
  264. // player death sounds
  265.     precache_sound ("player/death1.wav");
  266.     precache_sound ("player/death2.wav");
  267.     precache_sound ("player/death3.wav");
  268.     precache_sound ("player/death4.wav");
  269.     precache_sound ("player/death5.wav");
  270.  
  271. // ax sounds
  272.     precache_sound ("weapons/ax1.wav");            // ax swoosh
  273.     precache_sound ("player/axhit1.wav");        // ax hit meat
  274.     precache_sound ("player/axhit2.wav");        // ax hit world
  275.  
  276.     precache_sound ("player/h2ojump.wav");        // player jumping into water
  277.     precache_sound ("player/slimbrn2.wav");        // player enter slime
  278.     precache_sound ("player/inh2o.wav");        // player enter water
  279.     precache_sound ("player/inlava.wav");        // player enter lava
  280.     precache_sound ("misc/outwater.wav");        // leaving water sound
  281.  
  282.     precache_sound ("player/lburn1.wav");        // lava burn
  283.     precache_sound ("player/lburn2.wav");        // lava burn
  284.  
  285.     precache_sound ("misc/water1.wav");            // swimming
  286.     precache_sound ("misc/water2.wav");            // swimming
  287.  
  288. //MED 10/21/96 added flies sound
  289.    precache_sound ("misc/flys.wav");
  290. //MED 01/13/97 added explosion sounds
  291.    precache_sound ("misc/shortexp.wav");
  292.    precache_sound ("misc/longexpl.wav");
  293.    precache_sound ("misc/foot1.wav");
  294.    precache_sound ("misc/foot2.wav");
  295.    precache_sound ("misc/foot3.wav");
  296.    precache_sound ("misc/foot4.wav");
  297.    precache_sound ("misc/foot5.wav");
  298.    precache_sound ("misc/foot6.wav");
  299.    precache_sound ("misc/foot7.wav");
  300.  
  301.    precache_model ("progs/player.mdl");
  302.     precache_model ("progs/eyes.mdl");
  303.     precache_model ("progs/h_player.mdl");
  304. //MED 12/03/96 added player with hammer
  305.    precache_model ("progs/playham.mdl");
  306.    precache_model ("progs/gib1.mdl");
  307.     precache_model ("progs/gib2.mdl");
  308.     precache_model ("progs/gib3.mdl");
  309.  
  310.     precache_model ("progs/s_bubble.spr");    // drowning bubbles
  311.     precache_model ("progs/s_explod.spr");    // sprite explosion
  312.  
  313.     precache_model ("progs/v_axe.mdl");
  314.     precache_model ("progs/v_shot.mdl");
  315.     precache_model ("progs/v_nail.mdl");
  316.     precache_model ("progs/v_rock.mdl");
  317.     precache_model ("progs/v_shot2.mdl");
  318.     precache_model ("progs/v_nail2.mdl");
  319.     precache_model ("progs/v_rock2.mdl");
  320. //MED 10/31/96 added precache for hip view models
  321.    precache_model ("progs/v_laserg.mdl");
  322.    precache_model ("progs/v_hammer.mdl");
  323.    precache_model ("progs/v_prox.mdl");
  324.    precache_model ("progs/proxbomb.mdl");
  325.  
  326.     precache_model ("progs/bolt.mdl");        // for lightning gun
  327.     precache_model ("progs/bolt2.mdl");        // for lightning gun
  328.     precache_model ("progs/bolt3.mdl");        // for boss shock
  329.     precache_model ("progs/lavaball.mdl");    // for testing
  330. //MED 10/18/96 added precache for laser cannon
  331.    precache_model ("progs/lasrspik.mdl");
  332.  
  333.     precache_model ("progs/missile.mdl");
  334.     precache_model ("progs/grenade.mdl");
  335.     precache_model ("progs/spike.mdl");
  336.     precache_model ("progs/s_spike.mdl");
  337.  
  338.     precache_model ("progs/backpack.mdl");
  339.  
  340.     precache_model ("progs/zom_gib.mdl");
  341.  
  342.     precache_model ("progs/v_light.mdl");
  343.  
  344. // Grapple:  Precache new models too!
  345.         precache_model ("progs/star.mdl");
  346.         precache_model ("progs/bit.mdl");
  347.         precache_model ("progs/v_star.mdl");
  348.  
  349. //
  350. // Setup light animation tables. 'a' is total darkness, 'z' is maxbright.
  351. //
  352.  
  353.     // 0 normal
  354.     lightstyle(0, "m");
  355.  
  356.     // 1 FLICKER (first variety)
  357.     lightstyle(1, "mmnmmommommnonmmonqnmmo");
  358.  
  359.     // 2 SLOW STRONG PULSE
  360.     lightstyle(2, "abcdefghijklmnopqrstuvwxyzyxwvutsrqponmlkjihgfedcba");
  361.  
  362.     // 3 CANDLE (first variety)
  363.     lightstyle(3, "mmmmmaaaaammmmmaaaaaabcdefgabcdefg");
  364.  
  365.     // 4 FAST STROBE
  366.     lightstyle(4, "mamamamamama");
  367.  
  368.     // 5 GENTLE PULSE 1
  369.     lightstyle(5,"jklmnopqrstuvwxyzyxwvutsrqponmlkj");
  370.  
  371.     // 6 FLICKER (second variety)
  372.     lightstyle(6, "nmonqnmomnmomomno");
  373.  
  374.     // 7 CANDLE (second variety)
  375.     lightstyle(7, "mmmaaaabcdefgmmmmaaaammmaamm");
  376.  
  377.     // 8 CANDLE (third variety)
  378.     lightstyle(8, "mmmaaammmaaammmabcdefaaaammmmabcdefmmmaaaa");
  379.  
  380.     // 9 SLOW STROBE (fourth variety)
  381.     lightstyle(9, "aaaaaaaazzzzzzzz");
  382.  
  383.     // 10 FLUORESCENT FLICKER
  384.     lightstyle(10, "mmamammmmammamamaaamammma");
  385.  
  386.     // 11 SLOW PULSE NOT FADE TO BLACK
  387.     lightstyle(11, "abcdefghijklmnopqrrqponmlkjihgfedcba");
  388.  
  389.     // styles 32-62 are assigned by the light program for switchable lights
  390.  
  391.     // 63 testing
  392.     lightstyle(63, "a");
  393.  
  394. //JIM
  395.     StopEarthQuake();
  396. //MED
  397.    if (cvar("crosshair") == 2)
  398.       footsteps = 1;
  399.    else
  400.       footsteps = 0;
  401.    };
  402.  
  403. void() StartFrame =
  404. {
  405.     teamplay = cvar("teamplay");
  406.     skill = cvar("skill");
  407.     framecount = framecount + 1;
  408. };
  409.  
  410. /*
  411. ==============================================================================
  412.  
  413. BODY QUE
  414.  
  415. ==============================================================================
  416. */
  417.  
  418. entity    bodyque_head;
  419.  
  420. void() bodyque =
  421. {    // just here so spawn functions don't complain after the world
  422.     // creates bodyques
  423. };
  424.  
  425. void() InitBodyQue =
  426. {
  427.     local entity    e;
  428.  
  429.     bodyque_head = spawn();
  430.     bodyque_head.classname = "bodyque";
  431.     bodyque_head.owner = spawn();
  432.     bodyque_head.owner.classname = "bodyque";
  433.     bodyque_head.owner.owner = spawn();
  434.     bodyque_head.owner.owner.classname = "bodyque";
  435.     bodyque_head.owner.owner.owner = spawn();
  436.     bodyque_head.owner.owner.owner.classname = "bodyque";
  437.     bodyque_head.owner.owner.owner.owner = bodyque_head;
  438. };
  439.  
  440.  
  441. // make a body que entry for the given ent so the ent can be
  442. // respawned elsewhere
  443. void(entity ent) CopyToBodyQue =
  444. {
  445.     bodyque_head.angles = ent.angles;
  446.     bodyque_head.model = ent.model;
  447.     bodyque_head.modelindex = ent.modelindex;
  448.     bodyque_head.frame = ent.frame;
  449.     bodyque_head.colormap = ent.colormap;
  450.     bodyque_head.movetype = ent.movetype;
  451.     bodyque_head.velocity = ent.velocity;
  452.     bodyque_head.flags = 0;
  453.     setorigin (bodyque_head, ent.origin);
  454.     setsize (bodyque_head, ent.mins, ent.maxs);
  455.     bodyque_head = bodyque_head.owner;
  456. };
  457.